import request from '@/utils/request'

/**
 * 服务总览卡片接口
 * 获取服务总览页面的统计数据
 * @returns {Promise} 包含各类任务统计数据的Promise对象
 */
export function getServiceCardList() {
  return request({
    url: '/api/serviceCardList',
    method: 'get'
  })
}

/**
 * 服务明细列表接口
 * 获取服务明细列表数据，支持分页和条件查询
 * @param {Object} params - 查询参数
 * @param {string} params.user - 操作人
 * @param {string} params.serviceStatus - 服务状态
 * @param {number} params.pageNo - 页码
 * @param {number} params.pageSize - 每页条数
 * @returns {Promise} 包含服务明细列表和分页信息的Promise对象
 */
export function getServiceList(params) {
  return request({
    url: '/api/serviceList',
    method: 'post',
    data: params
  })
}

/**
 * 服务状态下拉框接口
 * 获取服务状态下拉框选项数据
 * @returns {Promise} 包含服务状态选项列表的Promise对象
 */
export function getServiceStatusOptions() {
  return request({
    url: '/api/serviceStatusOptions',
    method: 'get'
  })
}

/**
 * 字段说明:
 * 
 * getServiceCardList 返回数据字段说明:
 * serviceTaskNum: 服务任务总数
 * trainingTaskNum: 训练任务总数
 * finishedTaskNum: 已完成训练
 * reasoningTaskNum: 推理任务总数
 * training: 训练中
 * running: 运行中
 * queue: 排队中
 * deleted: 已停止
 * trainingFailed: 训练失败
 * runningFailed: 运行失败
 * 
 * getServiceList 返回数据字段说明:
 * serviceName: 服务名称
 * serviceType: 服务类型
 * description: 描述
 * serviceOnOffTime: 服务启停时间
 * user: 操作人
 * usedGPU: 占用资源数（GPU）
 * usedCPU: 占用资源数（CPU）
 * usedMemory: 占用资源数（内存）
 * 
 * getServiceStatusOptions 返回数据字段说明:
 * key: 状态键值
 * value: 状态显示值
 */